#include <stdio.h>
#include "command.h"

static const char module_usage[] =
    "-p=[1|s]"
    "-b=[x16|x8]"
    "-a=[3|4|5]"
    "-v=[1.8|2.8|3.0|2.6]"
    "-m=[i|d]";

static cmd_res do_init(int argc,char *argv[])
{
    printf("do_init\n");
    return OK;
}

static cmd_res do_reset(int argc,char *argv[])
{
    printf("do_reset\n");
    return OK;
}

static cmd_res do_read_id(int argc,char *argv[])
{
    printf("do_read_id\n");
    return OK;
}

static cmd_res do_read(int argc,char *argv[])
{
    printf("do_read\n");
    return OK;
}

static cmd_res do_read_oob(int argc,char *argv[])
{
    printf("do_read_oob\n");
    return OK;
}

static cmd_res do_write(int argc,char *argv[])
{
    printf("do_write\n");
    return OK;
}

static cmd_res do_erase(int argc,char *argv[])
{
    printf("do_erase\n");
    return OK;
}

static cmd_res do_scan(int argc,char *argv[])
{
    printf("do_scan\n");
    return OK;
}

static cmd_res do_verify(int argc,char *argv[])
{
    printf("do_verify\n");
    return OK;
}

static void do_err_pro(int err)
{
    printf("do_err_pro\n");  
}


BEGIN_ITEM_MAP(nand)
    ADD_ITEM(reset,   do_reset,   do_err_pro,  1000,   NULL)
    ADD_ITEM(readid,  do_read_id, do_err_pro,  1000,   NULL)
    ADD_ITEM(read,    do_read,    do_err_pro,  1000,   NULL)
    ADD_ITEM(readoob, do_read_oob,do_err_pro,  1000,   NULL)
    ADD_ITEM(write,   do_write,   do_err_pro,  1000,   NULL)
    ADD_ITEM(erase,   do_erase,   do_err_pro,  1000,   NULL)
    ADD_ITEM(scan,    do_scan,    do_err_pro,  1000,   NULL)
    ADD_ITEM(verify,  do_verify,  do_err_pro,  1000,   NULL)
END_ITEM_MAP(nand)

ADD_MODULE(nand,ITEM_MAP_POI(nand),do_init,NULL,1000,module_usage);
